function Vue(obj){
    // this 指向
    this.el = document.querySelector(obj.el)  //收到元素
    this.data = obj.data  //收到数据
    this.methods = obj.methods


    // 存一份模板内容
    this.content = this.el.innerHTML
    // 默认执行
    this.compile()
    this.event()
    this.getMethods()
    // return this
}
Vue.prototype = {
    // 编译模板上的数据
    compile(){
        this.el.innerHTML = this.content.replace(/\$\{(.+)\}/g,(all,group)=>{
            return this.data[group]
        })
    },
    // 捕获事件
    event(){
        // 事件委托
        this.el.addEventListener("click",e=>{
            let eventFn = e.target.getAttribute("@click")
            if(eventFn){
                console.log(eventFn);  //reduce
                //  怎样拿到"reduce"
                this[eventFn.split('(')[0]]()  //相当于执行了  this["reduce"]()
            }
        })
    },
    getMethods(){
        for(let item in this.methods){
            this.__proto__[item] = this.methods[item]
        }
    }

}



let axios

import axios from "axios"
Vue.prototype.$http 